package com.nenude.corejava.ch7;

/**
 * 继承： 1、继承使用extends 关键词进行表示，子类可以通过继承共用父类的特征（属性）和行为（方法） 
 * 2、语法结构： class 子类 extends父类；
 * 3、在java中继承属于单继承；一个子类只能有一个父类； 
 * 4、在子类的方法中可以使用super 指向父类；调用父类的构造方法；
 * 5、子类可以通过继承重用父类的代码,但这不是主要的目标； 继承更重要的目的是为了对父类的功能进行扩展，增加程序的可维护性、可扩展性；
 * 6、子类可以重写父类的方法；子类可以扩展自己的方法
 * 7、在java中所有类都有一个共同的父类：java.lang.Ojbect
 * 8、java的父类可以是直接父类，也指代父类的父类，直至Ojbect
 * 9、JNI（native）--java本地调用接口，是多语言混合编程的接口，可以调用C语言代码
 * 10、在实例化子类对象时会先执行父类的构造方法，生成一个父类对象；实例化子类对象，一定会产生多个对象（根据子类与object之间的关系确定）
 * 
 * 
 * 
 * 
 * @author admin
 *
 */


public class Manager extends Employee {// 经理
	// 面向对象分析
	// 名字
	// 性别
	// 年龄
	// 电话
	// 为公司工作

	public Manager() {
		// 调用父类空参构造方法
		super();// 在子类的方法中可以使用super 指向父类；调用父类的构造方法；
       //不编写super 调用时，默认调用父类的空参构造方法
	}

	public Manager(String name, String sex, int age, String phone) {
		// 调用父类带参构造方法
		
		//this();//this可以在构造方法中调用自身的空参构造方法 --一般用于多个构造方法
		//注意：不能同时使用this 和super 进行构造方法
		//使用this() 或 super(name,sex,age,phone) 调用构造方法时，代码必须放在第一行
		//this();
		super(name, sex, age, phone);
		this.work();
		//this.work(); 子类和父类都有work 方法，不写this 或 super 时默认调用子类的放方法
		this.equals(null);//子类没有equals 方法，默认调用父类方法；可以使用this 或 super或   不写 进行调用
		super.equals(null);
		equals(null);
		
	}

	// @Override 是方法的重写 ； @Overload 是方法的重载；
	// 方法的重写发生在子类和父类之间，子类重写父类的方法；
	// 方法的重写可以使用 @Override 进行注解；
	@Override
	public void work() {
		super.work();
		System.out.println("管理公司");
	}

}
